const Core = require('@alicloud/pop-core');

const random = (data) => {
  return Math.floor(Math.random() * data + 1)
}

var client = new Core({
  accessKeyId: 'LTAI4GKjFCsr7br68bRU6MNT',
  accessKeySecret: 'T8rOYl2yx6HVLcGRfHGg1XC6LnJ4OF',
  endpoint: 'https://dysmsapi.aliyuncs.com',
  apiVersion: '2017-05-25'
});

var requestOption = {
  method: 'POST'
};

module.exports = (phone) => {
  const code = "" + random(9) + random(9) + random(9) + random(9);
  return new Promise((res, rej) => {
    const params = {
      "RegionId": "cn-hangzhou",
      "PhoneNumbers": phone + '',
      "SignName": "记否",
      "TemplateCode": "SMS_206562314",
      "TemplateParam": "{code:" + code + "}"
    }
    client.request('SendSms', params, requestOption).then((result) => {
      if (result.Code === 'OK') {
        res(code)
      } else {
        rej(undefined)
      }
    }).catch(err => {
      rej(undefined)
    })
  })
}









// const Core = require('@alicloud/pop-core');
// const _ = require('lodash');

// // 阿里云控制台 - 短信服务 - 国内消息
// const SignName = "记否";
// const TemplateCode = "短信验证2";

// // https://usercenter.console.aliyun.com/
// const accessKeyId = "LTAI4FzJDBvCDVr9AXi3PoYA";
// const accessKeySecret = "FLznHgHaS026z60grRQ1yg6PxQ0oBA";

// var client = new Core({
//     accessKeyId,
//     accessKeySecret,
//     endpoint: 'https://dysmsapi.aliyuncs.com',
//     apiVersion: '2017-05-25'
// });

// // 保存手机号和验证码的对应关系
// // phone_code_list = {'18855551234':['1024']}
// var phone_code_list = {};

// exports.send = function(phone) {
//     // 生成验证码
//     var code = "" + _.random(9) + _.random(9) + _.random(9) + _.random(9);

//     console.log(code);
//     return new Promise((resolve, reject) => {
//         try {
//             client.request('SendSms', {
//                 RegionId: "cn-hangzhou",
//                 PhoneNumbers: phone,
//                 SignName,
//                 TemplateCode,
//                 TemplateParam: "{code:" + code + "}"
//             }, {
//                 method: 'POST'
//             }).then((result) => {

//               console.log(85);
//                 // if (result.Message && result.Message == "OK" && result.Code && result.Code == "OK") { // 短信发送成功
//                 //     // 保存验证码
//                 //     if (phone_code_list[phone]) {
//                 //         phone_code_list[phone].push(code);
//                 //     } else {
//                 //         phone_code_list[phone] = [code];
//                 //     }
//                 //     // 三分钟后删除验证码
//                 //     setTimeout(() => {
//                 //         _.pull(phone_code_list[phone], code);
//                 //         if (phone_code_list[phone] && phone_code_list[phone].length == 0) {
//                 //             delete phone_code_list[phone];
//                 //         }
//                 //     }, 3 * 60 * 1000)
//                 //     resolve(result)
//                 // } else {
//                 //     reject(result)
//                 // }
//             }, (ex) => {
//               console.log(ex, 105);
//                 reject(ex)
//             })
//         } catch (error) {
//           console.log(error, 109);
//             reject(error)
//         }
//     })
// }

// exports.verify = function(phone, code) {
//     return (phone_code_list[phone].indexOf(code) > -1)
// }